package net.risesoft.risebi.collection.dao;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

import net.risesoft.risebi.collection.model.ReportDataR6;
import net.risesoft.risebi.collection.model.ReportInstanceR6;

import org.springframework.dao.DataAccessException;


public interface ReportInstanceR6Dao {

	public abstract List<ReportInstanceR6> getObjects(String reportTaskID)throws DataAccessException;
	
	public abstract void saveObject(ReportInstanceR6 r6)throws DataAccessException;

	public abstract ReportInstanceR6 getObject(String reportTaskID, Serializable id)throws DataAccessException;

	public abstract String getReportDataTableName(String reportTaskID)
			throws DataAccessException;

	public abstract List<ReportDataR6> getReportDatas(String reportTaskID, String reportID, String rangeCode)
			throws DataAccessException;

	public abstract List<ReportDataR6> getReportDatas(String reportTaskID, String reportID)
			throws DataAccessException;

	public abstract String getReportTableName(String reportTaskID)
			throws DataAccessException;

	public abstract void saveReportDatas(String reportTaskID, String reportID,
			List<ReportDataR6> reportDatas) throws DataAccessException;

	public abstract boolean hasReportDatas(String reportTaskID, String reportID)
			throws DataAccessException;

	public abstract boolean hasRangeDatas(String reportTaskID, String reportID, String rangeCode)
			throws DataAccessException;

	public abstract void removeRangeDatas(String reportTaskID, String reportID,
			String rangeCode) throws DataAccessException;

	public abstract boolean hasRowDatas(String reportTaskID, String reportID, String rangeCode,
			String rowCode) throws DataAccessException;

	public abstract ReportDataR6 getReportData(String reportTaskID, String reportID,
			String rangeCode, String rowCode) throws DataAccessException;
	
}
